#include <stdio.h>

//function prototipe: TestFunct_1
// receives nothing
// returns nothing
void TestFunct_1(void);

//function prototipe: TestFunct_2
// receives an integer
// returns nothing
void TestFunct_2(int i);

//function prototipe: TestFunct_3
// receives nothing
// returns an integer
int TestFunct_3(void);

//function prototipe: TestFunct_4
// receives an integer
// returns an integer
int TestFunct_4(int x);

//function main 
int main(int argc, char **argv){

  //declare variable  
  int i = 15;
  int x, y;

  //call function TestFunct_1 
  TestFunct_1();

  //call function TestFunct_2 
  TestFunct_2(i);

  //call function TestFunct_3
  x = TestFunct_3();
  printf("x = %d\n", x);
  
  //call function TestFunct_4
  y = TestFunct_4(i);
  printf("y = %d\n", y);

  return 0;
}

//function TestFunct_1
void TestFunct_1(void)
{
  printf("TestFunct_1\n");
  printf("Receives nothing, returns nothing\n");
}

//function TestFunct_2
void TestFunct_2(int i)
{
  printf("TestFunct_2\n");
  printf("Receives parameter: %d\n", i);
}

//function TestFunct_3
int TestFunct_3(void)
{
  int i = 20;
  return i;
}

//function TestFunct_4
int TestFunct_4(int x)
{
  int i = x + 30;
  return i;
}


